﻿
Suivi des évolutions du composant de communication MiCom

____________________________________________________________________________
Version 1.0.0.5		06/09/2012

- ressources linguistiques incorporées à l'assembly  midiIngenierie.com.dll
    - commentaires des catégories et descriptions de la propertygrid du composant
	(design et runtime)
    - messages d'erreur sur utilisation des méthodes et propriétés du composant
	(runtime)
- ressources linguistiques non incorporées à l'assembly et placées dans le .xml
  En culture française  :  /fr/midiIngenierie.com.xml 
  Autre culture         :     /midiIngenierie.com.xml 
    - commentaires sur les méthodes et propriétés du composant de l'explorateur 
      d'objet (design)
    - commentaires sur les méthodes et propriétés du composant en écriture de code
      (design)
____________________________________________________________________________
Version 1.0.0.5		17/07/2012

- ajout de la propriété 'DesignName' et de la surcharge de .ToString()
  pour permettre de retrouver le nom du composant en runTime.
  (nécessaire aux composants d'axe...)
- traduction anglaise des ressources et commentaires.
  switch de compilation 'FR'
  - 1e compilation avec 'FR' => fichier 'MidiIngenierie.Com.xml' :
				commentaires en français sous répertoire Release/fr
  - 2e compilation sans 'FR' => fichier (à défaut)  'MidiIngenierie.Com.xml' :
				commentaires en anglais sous répertoire Release 
  Au même titre que les fichiers de ressources le fichier .xml utilisé dépend
  de manière automatique de la culture du PC.
  Les 2 compilations sont réalisées de manière automatique en ayant une solution
  qui contient 2 projets qui gèrent les mêmes fichiers sources:
  - MiCom pour le projet standard sans switch de compil qui génère le fichier 
	(à défaut)  'MidiIngenierie.Com.xml' en anglais
  - MiCom.fr pour le projet avec switch de compil 'FR' qui génère le fichier 
				'fr/MidiIngenierie.Com.xml' en français
____________________________________________________________________________
Version 1.0.0.5		06/07/2012

- évolution de la méthode UploadFile() de téléchargement de fichier pour gestion
  erreur de ligne de commande.
____________________________________________________________________________
Version 1.0.0.5		04/07/2012

- les propriétés de type string[] ne retournent pas null lorsque le tableau est vide
  mais  string[0]. Ainsi pour tester la présence d'éléments il convient de tester
  tableau.Count() != 0  ou directement utiliser une boucle  foreach  . 
  En effet , une boucle foreach(string element in tableau){} n'effectue aucun pas 
  lorsque le tableau est vide.
____________________________________________________________________________
Version 1.0.0.5		03/07/2012

- la lecture de la propriété ModulesInstalled retourne un tableau contenant
  un nombre d'éléments correspondant au nombre d'éléments installés (pas d'élément vide)
  Si aucun élément installé, le nombre d'éléments tableau.Count() == 0 .
____________________________________________________________________________
Version 1.0.0.5		27/06/2012

- 1 seul espace entre les topics dans les arguments reponse  (GetModuleInstalled() ...)
- ajout de la méthode   SetOffLine()
____________________________________________________________________________
Version 1.0.0.5		25/06/2012

- surcharge des méthodes GetModule() et GetModuleInstalled() avec l'arg bool errorEventEnabled
____________________________________________________________________________
Version 1.0.0.5		19/06/2012

- ajout de la méthode GetLastErrorInfos()
____________________________________________________________________________
Version 1.0.0.5		13/06/2012

- protection sur l'utilisation en multi-threading des propriétés et méthodes
- ajout de la méthode DialogueAllModules(string commande)
- ajout des méthodes surchargées DialogueModule("adr/cde", ...) 
  où l'adresse est combinée à l'argument commande .
- ajout de la méthode GetLastErrorInfos()
____________________________________________________________________________
Version 1.0.0.5		08/06/2012

- protection sur l'utilisation en multi-threading dans l'accès à la méthode DialogueModule()
- limitation du nombre de modules installables à 256 (listConfig à 256 éléments max)
- ajout de l'attribut DefaultValueAttribute() des propriétés 
  (permet la réinitialisation à défaut des propriétés, propriété par propriété)
____________________________________________________________________________
Version 1.0.0.5		07/06/2012

- correction bug ReleaseModule(adr) qui ne supprime pas le module de listConfig
  en mode offLine! 
- la propriété configModules était R/W, elle devient R only
- SetModule(adr) et ReleaseModule(adr) avec adr<0 ou adr > 65635 return ok
- surcharge des méthodes DialogueModule( ..... , bool errorEventEnabled)
	(errorEventEnabled  false pour localement inhiber la procédure OnErrorOnUseMethod)
____________________________________________________________________________
Version 1.0.0.5		31/05/2012

- le nom de l'assembly était MiCmLib.dll
  il devient  Midi-ingenierie.Com.dll
____________________________________________________________________________
Version 1.0.0.4		30/05/2012

- ajout d'un 2eme constructeur MiCom() sans argument IContainer (utilisation Labview ...).
- évite la réentrance des fonctions callback des évenements en erreur.
	Pour cela on introduit le flag f_OnError dans les méthodes GesWritePropertyError() et GesMethodError()
	- f_OnError == false, alors l'appel à la fct callback est réalisé
	- f_OnError == true, alors l'appel à la fct callback est évité
- modification des arguments évenements de la fonction callback OnErrorOnUseMethod(this, arg)
	- ev1	Chaine de caractères donnant le nom de la méthode concernée
	- ev2	Chaine de caractères donnant des informations sur le constat d'erreur
	- ev3	Chaine de caractères donnant l'argument principal de la méthode
	- ev4	Numéro représentatif du type d'erreur
	- ev5	Argument adresse de la méthode (-1 si l'argument adresse n'existe pas ou si adressage en broadcast)
- correction bug lié à l'utilisation multiple de la méthode SetOnLine() sans avoir au préalable déconnecté 
  l'ensemble des modules (clear listModules et listPipes)
  Pour cela on réalise au préalable la déconnexion de l'ensemble des modules dans les méthodes
	SetOnLine() et LoadConfig()
  ainsi que dans l'écriture de la propriété
	ConfigModules
____________________________________________________________________________
Version 1.0.0.3		20/05/2012

- correction divers bug

____________________________________________________________________________
Version 1.0.0.2		11/05/2012

- ajout de la méthode ReleaseAllModules()
____________________________________________________________________________
Version 1.0.0.1		14/02/2012

- anglicisation des noms des propriétés et des méthodes
____________________________________________________________________________
Version 1.0.0.0		17/01/2012

- version origine
____________________________________________________________________________
